package com.wonder.bean.kingdee.xqc;


import org.springframework.stereotype.Service;

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Service
public class ConvertDate {
    // 将日期字符串转换为数据库 datetime 类型
    public static Timestamp convertToDatabaseDateTime(String dateString, String inputFormat) {
        DateFormat inputDateFormat = new SimpleDateFormat(inputFormat);
        DateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        try {
            // 解析字符串为日期对象
            Date date = inputDateFormat.parse(dateString);

            // 将日期对象按照特定格式转换为字符串
            String formattedDate = outputDateFormat.format(date);

            // 转换为数据库 datetime 类型（java.sql.Timestamp）
            return Timestamp.valueOf(formattedDate);
        } catch (ParseException e) {
            e.printStackTrace();
            // 处理解析错误的情况，这里可以根据需求进行异常处理或返回默认值等操作
        }

        return null; // 如果解析失败，返回null或者其他默认值
    }

    public static void main(String[] args) {
        String dateString = "2023-01-31T16:43:51.667";
        String inputFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS";

        // 调用通用方法进行转换
        Timestamp databaseDateTime = convertToDatabaseDateTime(dateString, inputFormat);

        // 输出转换后的数据库 datetime 类型
        System.out.println("Database datetime: " + databaseDateTime);
    }
}

